package com.dzxcqmxm.servlet.album;

import com.dzxcqmxm.Dao.AlbumDao;
import com.dzxcqmxm.Dao.impl.AlbumDaoImpl;
import com.dzxcqmxm.JB.Album;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;

/**
 * 这里要获取上下文对象来，就是
 * 只显示登录用户的相册
 */

public class findAlbumByUserNameAndXTXCNameServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /**
         * 获取链接的参数。从yhmenu直接就到这里了
         */
        System.out.println("xt.getXTXCName() 也就是 那个 XTXCName"+request.getParameter("XTXCName2"));
        String a = request.getParameter("XTXCName2");
        System.out.println("打印一下刚刚设定的a 。这里是yhcontent页面包括了表单"+a);




        AlbumDao albumDao = new AlbumDaoImpl();
        Album album = new Album();
        ArrayList<Album> albumArrayList = new ArrayList<Album>();


        //获取页面跳转的时候携带的参数
        /**
         * 因为这个页面主要是给展示页面，session直接来的是这里，所以可以直接获取
         * session
         */
        String XTXCName = a;
        /**
         * 执行方法前判断用户，先获取全局变量username
         */
        ServletContext context = this.getServletContext();
        //获取数据，类似键值对，需要通过键名获取
        String username=(String) context.getAttribute("username");
        System.out.println("打印全局变量username" +username);

        try {
            albumArrayList = albumDao.findAlbumByUserNameAndXTXCName(username,XTXCName);
        } catch (Exception e) {
            e.printStackTrace();
        }

        /**
         * 作判断
         */
        /*
        try {
            albumArrayList2 = albumDao.findAllAlbum();
        } catch (Exception e) {
            e.printStackTrace();
        }
        *//**
         * 来个循环取值
         * 字符串判断相等的方法
         *albumArrayList2
         * 打印出来的其实是几个album的值
         * 但并不是就是属性本身，只是一个总体
         *album1.getUserName()
         * 这个东西才是作为一个选择，真正的才是一个用户！
         *
         *//*
        System.out.println("打印一下全部相册的albumArrayList2"+albumArrayList2);


        if(albumArrayList2!=null&&albumArrayList2.size()>0){
            for(Album album1:albumArrayList2){
                //做一个if测试，不行就换成while，显然这样是不可以的，用while试试
                //while也不行，因为if才是条件判断，但是if容易只判断一个，然后就大家都这么执行了

                try {
                    albumArrayList=albumDao.findAlbumByUserNameAndXTXCName(username,XTXCName);
                } catch (Exception e) {
                    e.printStackTrace();
                }*/

                /*if(username.equals(album1.getUserName())){
                    System.out.println("打印一下进来的用户："+album1.getUserName());
                    *//**
                     * 懂了，这里显然进来的用户已经成功了，但是，因为获取的是系统相册名来查找，所以展示的是
                     * 所有系统相册的，如何才可以根据系统相册+用户同时查找？
                     * 加多一个参数？
                     *
                     *//*
                    try {
                        albumArrayList = albumDao.findAlbumByUserNameAndXTXCName(username,XTXCName);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }

            }
        }
*/

        /**
         * 问题在这，处理之后的albumArrayList其实啥啥没有
         */
        System.out.println("打印一下处理之后的albumArrayList"+albumArrayList);


        //session会话对象可以数据共享于一次会话
        request.getSession().setAttribute("albumArrayList", albumArrayList);

        request.getSession().setAttribute("XTXCName", XTXCName);

        response.sendRedirect("/dzxc/YongHu/yhContent.jsp");

    }

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        try {
            doPost(request, response);
        } catch (ServletException e) {
            e.printStackTrace();
        }
    }
}
